package com.huilian.iotbox.admin.wap.security.enums;

/**
 * Redis存储jwt的key前缀
 */
public enum JwtRedisEnum {

    KEY_PREFIX("IOT_WAP:%s:"),

    /**
     * token 的key前缀
     */
    TOKEN_KEY_PREFIX("JWT:%s"),

    /***
     * authentication的key
     */
    AUTHENTICATION_KEY_PREFIX("AUTHENTICATION:%s");

    private String value;


    JwtRedisEnum(String value) {
        this.value = value;
    }

    /**
     * 获取key
     *
     * @param username：xxx@163.com
     * @param randomKey：xxxxxx
     * @return
     */
    public static String getTokenKey(String username, String randomKey) {
        return String.format(KEY_PREFIX.value + TOKEN_KEY_PREFIX.value, username, randomKey);
    }

    /**
     * 获取身份认证key
     *
     * @param username：用户名
     * @return
     */
    public static String getAuthenticationKey(String username, String randomKey) {
        return String.format(KEY_PREFIX.value + AUTHENTICATION_KEY_PREFIX.value, username, randomKey);
    }

    public static String getKeyPrefix(int userId) {
        return String.format(KEY_PREFIX.value, userId);
    }
}
